package com.runfast.paotui.dao.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ChargeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ChargeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("amount is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("amount is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(Integer value) {
            addCriterion("amount =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(Integer value) {
            addCriterion("amount <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(Integer value) {
            addCriterion("amount >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(Integer value) {
            addCriterion("amount >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(Integer value) {
            addCriterion("amount <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(Integer value) {
            addCriterion("amount <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<Integer> values) {
            addCriterion("amount in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<Integer> values) {
            addCriterion("amount not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(Integer value1, Integer value2) {
            addCriterion("amount between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(Integer value1, Integer value2) {
            addCriterion("amount not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedIsNull() {
            addCriterion("amount_refunded is null");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedIsNotNull() {
            addCriterion("amount_refunded is not null");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedEqualTo(Integer value) {
            addCriterion("amount_refunded =", value, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedNotEqualTo(Integer value) {
            addCriterion("amount_refunded <>", value, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedGreaterThan(Integer value) {
            addCriterion("amount_refunded >", value, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedGreaterThanOrEqualTo(Integer value) {
            addCriterion("amount_refunded >=", value, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedLessThan(Integer value) {
            addCriterion("amount_refunded <", value, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedLessThanOrEqualTo(Integer value) {
            addCriterion("amount_refunded <=", value, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedIn(List<Integer> values) {
            addCriterion("amount_refunded in", values, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedNotIn(List<Integer> values) {
            addCriterion("amount_refunded not in", values, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedBetween(Integer value1, Integer value2) {
            addCriterion("amount_refunded between", value1, value2, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andAmountRefundedNotBetween(Integer value1, Integer value2) {
            addCriterion("amount_refunded not between", value1, value2, "amountRefunded");
            return (Criteria) this;
        }

        public Criteria andChannelIsNull() {
            addCriterion("channel is null");
            return (Criteria) this;
        }

        public Criteria andChannelIsNotNull() {
            addCriterion("channel is not null");
            return (Criteria) this;
        }

        public Criteria andChannelEqualTo(Integer value) {
            addCriterion("channel =", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelNotEqualTo(Integer value) {
            addCriterion("channel <>", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelGreaterThan(Integer value) {
            addCriterion("channel >", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelGreaterThanOrEqualTo(Integer value) {
            addCriterion("channel >=", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelLessThan(Integer value) {
            addCriterion("channel <", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelLessThanOrEqualTo(Integer value) {
            addCriterion("channel <=", value, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelIn(List<Integer> values) {
            addCriterion("channel in", values, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelNotIn(List<Integer> values) {
            addCriterion("channel not in", values, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelBetween(Integer value1, Integer value2) {
            addCriterion("channel between", value1, value2, "channel");
            return (Criteria) this;
        }

        public Criteria andChannelNotBetween(Integer value1, Integer value2) {
            addCriterion("channel not between", value1, value2, "channel");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andFailureCodeIsNull() {
            addCriterion("failure_code is null");
            return (Criteria) this;
        }

        public Criteria andFailureCodeIsNotNull() {
            addCriterion("failure_code is not null");
            return (Criteria) this;
        }

        public Criteria andFailureCodeEqualTo(String value) {
            addCriterion("failure_code =", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeNotEqualTo(String value) {
            addCriterion("failure_code <>", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeGreaterThan(String value) {
            addCriterion("failure_code >", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeGreaterThanOrEqualTo(String value) {
            addCriterion("failure_code >=", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeLessThan(String value) {
            addCriterion("failure_code <", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeLessThanOrEqualTo(String value) {
            addCriterion("failure_code <=", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeLike(String value) {
            addCriterion("failure_code like", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeNotLike(String value) {
            addCriterion("failure_code not like", value, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeIn(List<String> values) {
            addCriterion("failure_code in", values, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeNotIn(List<String> values) {
            addCriterion("failure_code not in", values, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeBetween(String value1, String value2) {
            addCriterion("failure_code between", value1, value2, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureCodeNotBetween(String value1, String value2) {
            addCriterion("failure_code not between", value1, value2, "failureCode");
            return (Criteria) this;
        }

        public Criteria andFailureMsgIsNull() {
            addCriterion("failure_msg is null");
            return (Criteria) this;
        }

        public Criteria andFailureMsgIsNotNull() {
            addCriterion("failure_msg is not null");
            return (Criteria) this;
        }

        public Criteria andFailureMsgEqualTo(String value) {
            addCriterion("failure_msg =", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgNotEqualTo(String value) {
            addCriterion("failure_msg <>", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgGreaterThan(String value) {
            addCriterion("failure_msg >", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgGreaterThanOrEqualTo(String value) {
            addCriterion("failure_msg >=", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgLessThan(String value) {
            addCriterion("failure_msg <", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgLessThanOrEqualTo(String value) {
            addCriterion("failure_msg <=", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgLike(String value) {
            addCriterion("failure_msg like", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgNotLike(String value) {
            addCriterion("failure_msg not like", value, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgIn(List<String> values) {
            addCriterion("failure_msg in", values, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgNotIn(List<String> values) {
            addCriterion("failure_msg not in", values, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgBetween(String value1, String value2) {
            addCriterion("failure_msg between", value1, value2, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andFailureMsgNotBetween(String value1, String value2) {
            addCriterion("failure_msg not between", value1, value2, "failureMsg");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNull() {
            addCriterion("order_no is null");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNotNull() {
            addCriterion("order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualTo(String value) {
            addCriterion("order_no =", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualTo(String value) {
            addCriterion("order_no <>", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThan(String value) {
            addCriterion("order_no >", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("order_no >=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThan(String value) {
            addCriterion("order_no <", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualTo(String value) {
            addCriterion("order_no <=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLike(String value) {
            addCriterion("order_no like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotLike(String value) {
            addCriterion("order_no not like", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoIn(List<String> values) {
            addCriterion("order_no in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotIn(List<String> values) {
            addCriterion("order_no not in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoBetween(String value1, String value2) {
            addCriterion("order_no between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotBetween(String value1, String value2) {
            addCriterion("order_no not between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andPaidIsNull() {
            addCriterion("paid is null");
            return (Criteria) this;
        }

        public Criteria andPaidIsNotNull() {
            addCriterion("paid is not null");
            return (Criteria) this;
        }

        public Criteria andPaidEqualTo(Boolean value) {
            addCriterion("paid =", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidNotEqualTo(Boolean value) {
            addCriterion("paid <>", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidGreaterThan(Boolean value) {
            addCriterion("paid >", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidGreaterThanOrEqualTo(Boolean value) {
            addCriterion("paid >=", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidLessThan(Boolean value) {
            addCriterion("paid <", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidLessThanOrEqualTo(Boolean value) {
            addCriterion("paid <=", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidIn(List<Boolean> values) {
            addCriterion("paid in", values, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidNotIn(List<Boolean> values) {
            addCriterion("paid not in", values, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidBetween(Boolean value1, Boolean value2) {
            addCriterion("paid between", value1, value2, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidNotBetween(Boolean value1, Boolean value2) {
            addCriterion("paid not between", value1, value2, "paid");
            return (Criteria) this;
        }

        public Criteria andRefundedIsNull() {
            addCriterion("refunded is null");
            return (Criteria) this;
        }

        public Criteria andRefundedIsNotNull() {
            addCriterion("refunded is not null");
            return (Criteria) this;
        }

        public Criteria andRefundedEqualTo(Boolean value) {
            addCriterion("refunded =", value, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedNotEqualTo(Boolean value) {
            addCriterion("refunded <>", value, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedGreaterThan(Boolean value) {
            addCriterion("refunded >", value, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("refunded >=", value, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedLessThan(Boolean value) {
            addCriterion("refunded <", value, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedLessThanOrEqualTo(Boolean value) {
            addCriterion("refunded <=", value, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedIn(List<Boolean> values) {
            addCriterion("refunded in", values, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedNotIn(List<Boolean> values) {
            addCriterion("refunded not in", values, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedBetween(Boolean value1, Boolean value2) {
            addCriterion("refunded between", value1, value2, "refunded");
            return (Criteria) this;
        }

        public Criteria andRefundedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("refunded not between", value1, value2, "refunded");
            return (Criteria) this;
        }

        public Criteria andReversedIsNull() {
            addCriterion("reversed is null");
            return (Criteria) this;
        }

        public Criteria andReversedIsNotNull() {
            addCriterion("reversed is not null");
            return (Criteria) this;
        }

        public Criteria andReversedEqualTo(Boolean value) {
            addCriterion("reversed =", value, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedNotEqualTo(Boolean value) {
            addCriterion("reversed <>", value, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedGreaterThan(Boolean value) {
            addCriterion("reversed >", value, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reversed >=", value, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedLessThan(Boolean value) {
            addCriterion("reversed <", value, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedLessThanOrEqualTo(Boolean value) {
            addCriterion("reversed <=", value, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedIn(List<Boolean> values) {
            addCriterion("reversed in", values, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedNotIn(List<Boolean> values) {
            addCriterion("reversed not in", values, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedBetween(Boolean value1, Boolean value2) {
            addCriterion("reversed between", value1, value2, "reversed");
            return (Criteria) this;
        }

        public Criteria andReversedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reversed not between", value1, value2, "reversed");
            return (Criteria) this;
        }

        public Criteria andTimePaidIsNull() {
            addCriterion("time_paid is null");
            return (Criteria) this;
        }

        public Criteria andTimePaidIsNotNull() {
            addCriterion("time_paid is not null");
            return (Criteria) this;
        }

        public Criteria andTimePaidEqualTo(Date value) {
            addCriterion("time_paid =", value, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidNotEqualTo(Date value) {
            addCriterion("time_paid <>", value, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidGreaterThan(Date value) {
            addCriterion("time_paid >", value, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidGreaterThanOrEqualTo(Date value) {
            addCriterion("time_paid >=", value, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidLessThan(Date value) {
            addCriterion("time_paid <", value, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidLessThanOrEqualTo(Date value) {
            addCriterion("time_paid <=", value, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidIn(List<Date> values) {
            addCriterion("time_paid in", values, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidNotIn(List<Date> values) {
            addCriterion("time_paid not in", values, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidBetween(Date value1, Date value2) {
            addCriterion("time_paid between", value1, value2, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTimePaidNotBetween(Date value1, Date value2) {
            addCriterion("time_paid not between", value1, value2, "timePaid");
            return (Criteria) this;
        }

        public Criteria andTransactionNoIsNull() {
            addCriterion("transaction_no is null");
            return (Criteria) this;
        }

        public Criteria andTransactionNoIsNotNull() {
            addCriterion("transaction_no is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionNoEqualTo(String value) {
            addCriterion("transaction_no =", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoNotEqualTo(String value) {
            addCriterion("transaction_no <>", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoGreaterThan(String value) {
            addCriterion("transaction_no >", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoGreaterThanOrEqualTo(String value) {
            addCriterion("transaction_no >=", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoLessThan(String value) {
            addCriterion("transaction_no <", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoLessThanOrEqualTo(String value) {
            addCriterion("transaction_no <=", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoLike(String value) {
            addCriterion("transaction_no like", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoNotLike(String value) {
            addCriterion("transaction_no not like", value, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoIn(List<String> values) {
            addCriterion("transaction_no in", values, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoNotIn(List<String> values) {
            addCriterion("transaction_no not in", values, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoBetween(String value1, String value2) {
            addCriterion("transaction_no between", value1, value2, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andTransactionNoNotBetween(String value1, String value2) {
            addCriterion("transaction_no not between", value1, value2, "transactionNo");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Integer value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Integer value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Integer value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Integer value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Integer value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Integer> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Integer> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Integer value1, Integer value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Integer value1, Integer value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}